home *** CD-ROM | disk | FTP | other *** search
- <refentry id="libgimp-gimpprotocol" revision="19 Jan 2001">
- <refmeta>
- <refentrytitle>gimpprotocol</refentrytitle>
- <manvolnum>3</manvolnum>
- <refmiscinfo>LIBGIMP Library</refmiscinfo>
- </refmeta>
-
- <refnamediv>
- <refname>gimpprotocol</refname><refpurpose>The communication protocol between GIMP and it's plug-ins.</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv><title>Synopsis</title>
- <synopsis>
-
-
-
- #define <link linkend="GP-VERSION-CAPS">GP_VERSION</link>
- struct <link linkend="GPConfig">GPConfig</link>;
- struct <link linkend="GPTileReq">GPTileReq</link>;
- struct <link linkend="GPTileAck">GPTileAck</link>;
- struct <link linkend="GPTileData">GPTileData</link>;
- struct <link linkend="GPParam">GPParam</link>;
- struct <link linkend="GPParamDef">GPParamDef</link>;
- struct <link linkend="GPProcRun">GPProcRun</link>;
- struct <link linkend="GPProcReturn">GPProcReturn</link>;
- struct <link linkend="GPProcInstall">GPProcInstall</link>;
- struct <link linkend="GPProcUninstall">GPProcUninstall</link>;
- void <link linkend="gp-init">gp_init</link> (void);
- <link linkend="gboolean">gboolean</link> <link linkend="gp-quit-write">gp_quit_write</link> (<link linkend="GIOChannel">GIOChannel</link> *channel);
- <link linkend="gboolean">gboolean</link> <link linkend="gp-config-write">gp_config_write</link> (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPConfig">GPConfig</link> *config);
- <link linkend="gboolean">gboolean</link> <link linkend="gp-tile-req-write">gp_tile_req_write</link> (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPTileReq">GPTileReq</link> *tile_req);
- <link linkend="gboolean">gboolean</link> <link linkend="gp-tile-ack-write">gp_tile_ack_write</link> (<link linkend="GIOChannel">GIOChannel</link> *channel);
- <link linkend="gboolean">gboolean</link> <link linkend="gp-tile-data-write">gp_tile_data_write</link> (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPTileData">GPTileData</link> *tile_data);
- <link linkend="gboolean">gboolean</link> <link linkend="gp-proc-run-write">gp_proc_run_write</link> (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPProcRun">GPProcRun</link> *proc_run);
- <link linkend="gboolean">gboolean</link> <link linkend="gp-proc-return-write">gp_proc_return_write</link> (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPProcReturn">GPProcReturn</link> *proc_return);
- <link linkend="gboolean">gboolean</link> <link linkend="gp-temp-proc-run-write">gp_temp_proc_run_write</link> (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPProcRun">GPProcRun</link> *proc_run);
- <link linkend="gboolean">gboolean</link> <link linkend="gp-temp-proc-return-write">gp_temp_proc_return_write</link> (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPProcReturn">GPProcReturn</link> *proc_return);
- <link linkend="gboolean">gboolean</link> <link linkend="gp-proc-install-write">gp_proc_install_write</link> (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPProcInstall">GPProcInstall</link> *proc_install);
- <link linkend="gboolean">gboolean</link> <link linkend="gp-proc-uninstall-write">gp_proc_uninstall_write</link> (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPProcUninstall">GPProcUninstall</link> *proc_uninstall);
- <link linkend="gboolean">gboolean</link> <link linkend="gp-extension-ack-write">gp_extension_ack_write</link> (<link linkend="GIOChannel">GIOChannel</link> *channel);
- </synopsis>
- </refsynopsisdiv>
-
-
-
-
-
- <refsect1>
- <title>Description</title>
- <para>
- The communication protocol between GIMP and it's plug-ins.
-
- </para>
- </refsect1>
-
- <refsect1>
- <title>Details</title>
- <refsect2>
- <title><anchor id="GP-VERSION-CAPS">GP_VERSION</title>
- <programlisting>#define GP_VERSION 0x0004
- </programlisting>
- <para>
-
- </para></refsect2>
- <refsect2>
- <title><anchor id="GPConfig">struct GPConfig</title>
- <programlisting>struct GPConfig
- {
- guint32 version;
- guint32 tile_width;
- guint32 tile_height;
- gint32 shm_ID;
- gdouble gamma;
- gint8 install_cmap;
- gint8 use_xshm;
- gint32 min_colors;
- gint32 gdisp_ID;
- };
- </programlisting>
- <para>
-
- </para></refsect2>
- <refsect2>
- <title><anchor id="GPTileReq">struct GPTileReq</title>
- <programlisting>struct GPTileReq
- {
- gint32 drawable_ID;
- guint32 tile_num;
- guint32 shadow;
- };
- </programlisting>
- <para>
-
- </para></refsect2>
- <refsect2>
- <title><anchor id="GPTileAck">struct GPTileAck</title>
- <programlisting>struct GPTileAck;</programlisting>
- <para>
-
- </para></refsect2>
- <refsect2>
- <title><anchor id="GPTileData">struct GPTileData</title>
- <programlisting>struct GPTileData
- {
- gint32 drawable_ID;
- guint32 tile_num;
- guint32 shadow;
- guint32 bpp;
- guint32 width;
- guint32 height;
- guint32 use_shm;
- guchar *data;
- };
- </programlisting>
- <para>
-
- </para></refsect2>
- <refsect2>
- <title><anchor id="GPParam">struct GPParam</title>
- <programlisting>struct GPParam
- {
- guint32 type;
-
- union
- {
- gint32 d_int32;
- gint16 d_int16;
- gint8 d_int8;
- gdouble d_float;
- gchar *d_string;
- gint32 *d_int32array;
- gint16 *d_int16array;
- gint8 *d_int8array;
- gdouble *d_floatarray;
- gchar **d_stringarray;
- struct
- {
- guint8 red;
- guint8 green;
- guint8 blue;
- } d_color;
- struct
- {
- gint32 x;
- gint32 y;
- gint32 width;
- gint32 height;
- } d_region;
- gint32 d_display;
- gint32 d_image;
- gint32 d_layer;
- gint32 d_channel;
- gint32 d_drawable;
- gint32 d_selection;
- gint32 d_boundary;
- gint32 d_path;
- struct
- {
- gchar *name;
- guint32 flags;
- guint32 size;
- gpointer data;
- } d_parasite;
- gint32 d_status;
- } data;
- };
- </programlisting>
- <para>
-
- </para></refsect2>
- <refsect2>
- <title><anchor id="GPParamDef">struct GPParamDef</title>
- <programlisting>struct GPParamDef
- {
- guint32 type;
- gchar *name;
- gchar *description;
- };
- </programlisting>
- <para>
-
- </para></refsect2>
- <refsect2>
- <title><anchor id="GPProcRun">struct GPProcRun</title>
- <programlisting>struct GPProcRun
- {
- gchar *name;
- guint32 nparams;
- GPParam *params;
- };
- </programlisting>
- <para>
-
- </para></refsect2>
- <refsect2>
- <title><anchor id="GPProcReturn">struct GPProcReturn</title>
- <programlisting>struct GPProcReturn
- {
- gchar *name;
- guint32 nparams;
- GPParam *params;
- };
- </programlisting>
- <para>
-
- </para></refsect2>
- <refsect2>
- <title><anchor id="GPProcInstall">struct GPProcInstall</title>
- <programlisting>struct GPProcInstall
- {
- gchar *name;
- gchar *blurb;
- gchar *help;
- gchar *author;
- gchar *copyright;
- gchar *date;
- gchar *menu_path;
- gchar *image_types;
- guint32 type;
- guint32 nparams;
- guint32 nreturn_vals;
- GPParamDef *params;
- GPParamDef *return_vals;
- };
- </programlisting>
- <para>
-
- </para></refsect2>
- <refsect2>
- <title><anchor id="GPProcUninstall">struct GPProcUninstall</title>
- <programlisting>struct GPProcUninstall
- {
- gchar *name;
- };
- </programlisting>
- <para>
-
- </para></refsect2>
- <refsect2>
- <title><anchor id="gp-init">gp_init ()</title>
- <programlisting>void gp_init (void);</programlisting>
- <para>
-
- </para></refsect2>
- <refsect2>
- <title><anchor id="gp-quit-write">gp_quit_write ()</title>
- <programlisting><link linkend="gboolean">gboolean</link> gp_quit_write (<link linkend="GIOChannel">GIOChannel</link> *channel);</programlisting>
- <para>
-
- </para><informaltable pgwide=1 frame="none" role="params">
- <tgroup cols="2">
- <colspec colwidth="2*">
- <colspec colwidth="8*">
- <tbody>
- <row><entry align="right"><parameter>channel</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>
-
- </entry></row>
- </tbody></tgroup></informaltable></refsect2>
- <refsect2>
- <title><anchor id="gp-config-write">gp_config_write ()</title>
- <programlisting><link linkend="gboolean">gboolean</link> gp_config_write (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPConfig">GPConfig</link> *config);</programlisting>
- <para>
-
- </para><informaltable pgwide=1 frame="none" role="params">
- <tgroup cols="2">
- <colspec colwidth="2*">
- <colspec colwidth="8*">
- <tbody>
- <row><entry align="right"><parameter>channel</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><parameter>config</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>
-
- </entry></row>
- </tbody></tgroup></informaltable></refsect2>
- <refsect2>
- <title><anchor id="gp-tile-req-write">gp_tile_req_write ()</title>
- <programlisting><link linkend="gboolean">gboolean</link> gp_tile_req_write (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPTileReq">GPTileReq</link> *tile_req);</programlisting>
- <para>
-
- </para><informaltable pgwide=1 frame="none" role="params">
- <tgroup cols="2">
- <colspec colwidth="2*">
- <colspec colwidth="8*">
- <tbody>
- <row><entry align="right"><parameter>channel</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><parameter>tile_req</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>
-
- </entry></row>
- </tbody></tgroup></informaltable></refsect2>
- <refsect2>
- <title><anchor id="gp-tile-ack-write">gp_tile_ack_write ()</title>
- <programlisting><link linkend="gboolean">gboolean</link> gp_tile_ack_write (<link linkend="GIOChannel">GIOChannel</link> *channel);</programlisting>
- <para>
-
- </para><informaltable pgwide=1 frame="none" role="params">
- <tgroup cols="2">
- <colspec colwidth="2*">
- <colspec colwidth="8*">
- <tbody>
- <row><entry align="right"><parameter>channel</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>
-
- </entry></row>
- </tbody></tgroup></informaltable></refsect2>
- <refsect2>
- <title><anchor id="gp-tile-data-write">gp_tile_data_write ()</title>
- <programlisting><link linkend="gboolean">gboolean</link> gp_tile_data_write (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPTileData">GPTileData</link> *tile_data);</programlisting>
- <para>
-
- </para><informaltable pgwide=1 frame="none" role="params">
- <tgroup cols="2">
- <colspec colwidth="2*">
- <colspec colwidth="8*">
- <tbody>
- <row><entry align="right"><parameter>channel</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><parameter>tile_data</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>
-
- </entry></row>
- </tbody></tgroup></informaltable></refsect2>
- <refsect2>
- <title><anchor id="gp-proc-run-write">gp_proc_run_write ()</title>
- <programlisting><link linkend="gboolean">gboolean</link> gp_proc_run_write (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPProcRun">GPProcRun</link> *proc_run);</programlisting>
- <para>
-
- </para><informaltable pgwide=1 frame="none" role="params">
- <tgroup cols="2">
- <colspec colwidth="2*">
- <colspec colwidth="8*">
- <tbody>
- <row><entry align="right"><parameter>channel</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><parameter>proc_run</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>
-
- </entry></row>
- </tbody></tgroup></informaltable></refsect2>
- <refsect2>
- <title><anchor id="gp-proc-return-write">gp_proc_return_write ()</title>
- <programlisting><link linkend="gboolean">gboolean</link> gp_proc_return_write (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPProcReturn">GPProcReturn</link> *proc_return);</programlisting>
- <para>
-
- </para><informaltable pgwide=1 frame="none" role="params">
- <tgroup cols="2">
- <colspec colwidth="2*">
- <colspec colwidth="8*">
- <tbody>
- <row><entry align="right"><parameter>channel</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><parameter>proc_return</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>
-
- </entry></row>
- </tbody></tgroup></informaltable></refsect2>
- <refsect2>
- <title><anchor id="gp-temp-proc-run-write">gp_temp_proc_run_write ()</title>
- <programlisting><link linkend="gboolean">gboolean</link> gp_temp_proc_run_write (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPProcRun">GPProcRun</link> *proc_run);</programlisting>
- <para>
-
- </para><informaltable pgwide=1 frame="none" role="params">
- <tgroup cols="2">
- <colspec colwidth="2*">
- <colspec colwidth="8*">
- <tbody>
- <row><entry align="right"><parameter>channel</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><parameter>proc_run</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>
-
- </entry></row>
- </tbody></tgroup></informaltable></refsect2>
- <refsect2>
- <title><anchor id="gp-temp-proc-return-write">gp_temp_proc_return_write ()</title>
- <programlisting><link linkend="gboolean">gboolean</link> gp_temp_proc_return_write (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPProcReturn">GPProcReturn</link> *proc_return);</programlisting>
- <para>
-
- </para><informaltable pgwide=1 frame="none" role="params">
- <tgroup cols="2">
- <colspec colwidth="2*">
- <colspec colwidth="8*">
- <tbody>
- <row><entry align="right"><parameter>channel</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><parameter>proc_return</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>
-
- </entry></row>
- </tbody></tgroup></informaltable></refsect2>
- <refsect2>
- <title><anchor id="gp-proc-install-write">gp_proc_install_write ()</title>
- <programlisting><link linkend="gboolean">gboolean</link> gp_proc_install_write (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPProcInstall">GPProcInstall</link> *proc_install);</programlisting>
- <para>
-
- </para><informaltable pgwide=1 frame="none" role="params">
- <tgroup cols="2">
- <colspec colwidth="2*">
- <colspec colwidth="8*">
- <tbody>
- <row><entry align="right"><parameter>channel</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><parameter>proc_install</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>
-
- </entry></row>
- </tbody></tgroup></informaltable></refsect2>
- <refsect2>
- <title><anchor id="gp-proc-uninstall-write">gp_proc_uninstall_write ()</title>
- <programlisting><link linkend="gboolean">gboolean</link> gp_proc_uninstall_write (<link linkend="GIOChannel">GIOChannel</link> *channel,
- <link linkend="GPProcUninstall">GPProcUninstall</link> *proc_uninstall);</programlisting>
- <para>
-
- </para><informaltable pgwide=1 frame="none" role="params">
- <tgroup cols="2">
- <colspec colwidth="2*">
- <colspec colwidth="8*">
- <tbody>
- <row><entry align="right"><parameter>channel</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><parameter>proc_uninstall</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>
-
- </entry></row>
- </tbody></tgroup></informaltable></refsect2>
- <refsect2>
- <title><anchor id="gp-extension-ack-write">gp_extension_ack_write ()</title>
- <programlisting><link linkend="gboolean">gboolean</link> gp_extension_ack_write (<link linkend="GIOChannel">GIOChannel</link> *channel);</programlisting>
- <para>
-
- </para><informaltable pgwide=1 frame="none" role="params">
- <tgroup cols="2">
- <colspec colwidth="2*">
- <colspec colwidth="8*">
- <tbody>
- <row><entry align="right"><parameter>channel</parameter> :</entry>
- <entry></entry></row>
- <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>
-
- </entry></row>
- </tbody></tgroup></informaltable></refsect2>
-
- </refsect1>
-
-
-
- <refsect1>
- <title>See Also</title>
- <para>
- <link linkend="libgimp-gimpwire">libgimp-gimpwire</link>
- </para>
- </refsect1>
-
- </refentry>
-